home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / m68k / 477 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.9 KB

  1. Path: newsserver.rrzn.uni-hannover.de!tubsibr!hoffmann
  2. From: hoffmann@ibr.cs.tu-bs.de (Michael Hoffmann)
  3. Newsgroups: comp.sys.m68k
  4. Subject: Re: [?] Wait state generator - 68k
  5. Date: 26 Mar 1996 15:22:03 GMT
  6. Organization: TU Braunschweig, Informatik (Bueltenweg), Germany
  7. Distribution: world
  8. Message-ID: <4j922r$7tm@ra.ibr.cs.tu-bs.de>
  9. References: <4j5hc2$roc@pulp.ucs.ualberta.ca> <4j7j56$ffc@pulp.ucs.ualberta.ca>
  10. NNTP-Posting-Host: ares.ibr.cs.tu-bs.de
  11.  
  12. jdv@ee.ualberta.ca (John Voth) writes:
  13.  
  14. (some original stuff deleted)
  15.  
  16. > Looking in the Motorola databooks, the waveforms for asynchronous bus
  17. > cycles show that DTACK and AS are de-asserted at the same time. I would
  18. > like to know which one has to or needs to be de-asserted before the
  19. > other. That is to ask, which one is de-asserted first? 
  20. The correct sequence for these transitions is to hold DTACK in active
  21. state at least until AS is deasserted.
  22.  
  23. > Another question, if the mc68k continuously monitors the DTACK line
  24. > - waiting for it to be asserted then does the mc68k wait until it is
  25. > de-asserted before ending the bus cycle?
  26. Definitely NOT.
  27.  
  28. > Or does the mc68k end the bus cycle immediately after receiving the
  29. > DTACK signal?
  30. Yep. That's better, although "immediately" is not exactly the term I
  31. would use for this because it all depends on the CPU clock: The CPU
  32. samples the DTACK-line at the falling edge of CLK and, if DTACK is
  33. valid at that time, deasserts AS on the next falling edge.
  34.  
  35. > I am wondering if I can simply hold the DTACK asserted until I want to
  36. > let it go ( presumeably that's when I want to stop adding wait states )
  37. > then allow the mc68k end the bus cycle?
  38. Just do it the other way round: Hold DTACK DEasserted until you want
  39. to stop adding wait states.
  40.  
  41. > At the moment, I am creating a state machine inside a EP-610 PLD that
  42. > will sense AS and READY. It will generate a DTACK signal ( duration =
  43. > 1,2 or 3 clock cycles long ) upon sensing a positive transistion of the
  44. > READY signal. It's alot of work just to create DTACK so, if there are
  45. > any short cuts that I can take, I would like to find them soon. Thus all
  46. > the questions the DTACK and AS signal timing.
  47.  
  48. The general idea of DTACK is simply to leave it DEASSERTED while you
  49. want to fill in wait states and to ASSERT it when you want to end the
  50. current bus cycle. After this, you should release it as a reaction to
  51. the deassertion of AS.
  52.  
  53. Coming back to the original problem, I think it should be possible to
  54. generate the DTACK out of something like 'READY * AS' (* meaning logic
  55. AND) using the activation of READY to assert DTACK and the deassertion
  56. of AS to release DTACK. Maybe you have to additionally qualify this
  57. with the chip select signal of your peripheral if READY is activated
  58. without the chip actually being selected.
  59.  
  60.  
  61. ---------------------------------------------
  62.               Michael Hoffmann
  63. Technical University of Braunschweig, Germany
  64.           hoffmann@ibr.cs.tu-bs.de
  65. ---------------------------------------------
  66.